package com.study.d012Components;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.stage.Stage;

/**
 * 输入框，Lable, 密码框的使用
 * @author Administrator
 *
 */
public class TextFieldMain extends Application{
	public static void main(String[] args) {
		launch(args);
	}
	@Override
	public void start(Stage stage) throws Exception {
		Group group = new Group();
		Scene scene = new Scene(group);
		stage.setScene(scene);

		Label label = new Label("姓名:");

		label.setLayoutX(10);
		label.setLayoutY(10);


		Label label2 = new Label("密码:");

		label2.setLayoutX(10);
		label2.setLayoutY(50);

		//输入框
		TextField textField = new TextField();
		textField.setLayoutX(50);
		textField.setLayoutY(10);
		//textField.setPrefSize(150, 10);
		//设置获取焦点提示
		textField.setTooltip(new Tooltip("名字的长度不能大于10!"));
		//设置文本提示
		textField.setPromptText("请输入名字");
		textField.setFocusTraversable(false);   //只有设置失去焦点时才有用
		//检查输入的文本长度
		textField.textProperty().addListener(new ChangeListener<String>() {
			@Override
			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
				//只能输入10个长度的值
				if(newValue.length() > 10){
					textField.setText(oldValue);
				}
			}
		});


		//密码框
		PasswordField pField = new PasswordField();
		pField.setPromptText("请输入密码");
		pField.setLayoutX(50);
		pField.setLayoutY(50);
		//pField.setPrefSize(150, 30);


		group.getChildren().add(label);
		group.getChildren().add(textField);
		group.getChildren().add(label2);
		group.getChildren().add(pField);


		//选择监听
		pField.selectedTextProperty().addListener(new ChangeListener<String>() {
			@Override
			public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
				System.out.println("你选择的是：" + newValue);
			}

		});


		stage.setWidth(900);
		stage.setHeight(400);
		stage.show();
	}
}
